namespace OracleInternal.SqlAndPlsqlParser.LocalParsing
{
	internal class OracleLpQteXMLTable : OracleLpQteNamedObject
	{
		protected OracleLpTextFragment m_vExpressionText;

		public override OracleLpQueryTableExpressionType QueryTableExpressionType => OracleLpQueryTableExpressionType.XMLTable;

		public OracleLpTextFragment ExpressionText
		{
			get
			{
				return m_vExpressionText;
			}
			set
			{
				m_vExpressionText = value;
				m_vObjectName = null;
			}
		}

		public override OracleLpName ObjectName
		{
			get
			{
				if (m_vExpressionText == null)
				{
					return null;
				}
				if (m_vObjectName == null)
				{
					m_vObjectName = new OracleLpName(m_vExpressionText.ToString());
				}
				return m_vObjectName;
			}
			set
			{
			}
		}

		public OracleLpQteXMLTable(OracleLpStatementElement tr)
			: base(tr)
		{
		}
	}
}
